Матч
40,
Секретарь (Secretary)
Имеется массив строк files, содержащий имена людей. Имена были выведены
принтером в обратном порядке (вместо слова “EDWARD” печаталось “DRAWDE”). Отпечатанные слова секретарша отсортировала в
лексикографическом порядке. Вернуть имя из массива files, которое будет стоять первым в отсортированном списке секретарши.
Класс: Secretary
Метод: string wrongOrdering(vector<string>
files)
Ограничения:
files содержит от 1 до 50 строк, каждая из которых содержит от 1
до 50 символов ‘A’ – ‘Z’.
Вход. Массив строк files, содержащий имена людей.
Выход. Имя из массива files, которое будет стоять первым в
отсортированном списке секретарши.
Пример входа
files |
{"JAMES","PETER","ADAM","JOHN","DAVE","EDWARD"} |
{"ALGORITHM","DESIGN","DEVELOPMENT","TCHS","STUDIO","MARATHON"} |
{"AAAAA","AA","AAA"} |
Пример выхода
"EDWARD"
"ALGORITHM"
"AA"
РЕШЕНИЕ
сортировка строк
Сортируем массив строк files, используя функцию сортировки f: обращаем сравниваемые строки и
сравниваем их лексикографически. После чего возвращаем первое слово.
ПРОГРАММА
#include <cstdio>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int f(string a, string b)
{
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
return a < b;
}
class Secretary
{
public:
string wrongOrdering(vector<string> files)
{
sort(files.begin(),files.end(),f);
return files[0];
}
};